import { IPSBICube } from './ipsbicube';
import { IPSSysBICubeDimension } from './ipssys-bicube-dimension';
import { IPSSysBICubeMeasure } from './ipssys-bicube-measure';
import { IPSSysBISchemeObject } from './ipssys-bischeme-object';

/**
 *
 * @export
 * @interface IPSSysBICube
 */
export interface IPSSysBICube extends IPSSysBISchemeObject, IPSBICube {
  /**
   * 立方体维度集合
   *
   * @type {IPSSysBICubeDimension[]}
   */
  getAllPSSysBICubeDimensions(): IPSSysBICubeDimension[] | null;

  /**
   * 立方体维度集合
   *
   * @type {IPSSysBICubeDimension[]}
   */
  get allPSSysBICubeDimensions(): IPSSysBICubeDimension[] | null;

  findPSSysBICubeDimension(objKey: any): IPSSysBICubeDimension | null;

  /**
   * 立方体指标集合
   *
   * @type {IPSSysBICubeMeasure[]}
   */
  getAllPSSysBICubeMeasures(): IPSSysBICubeMeasure[] | null;

  /**
   * 立方体指标集合
   *
   * @type {IPSSysBICubeMeasure[]}
   */
  get allPSSysBICubeMeasures(): IPSSysBICubeMeasure[] | null;

  findPSSysBICubeMeasure(objKey: any): IPSSysBICubeMeasure | null;
}
